Geo photo searching based on current conditions at a location

ABSTRACT

In an exemplary method, a request for images of a location is received. In response to the request, a set of images depicting different conditions at the location is identified. Each image of the set of images is associated with condition information defining the conditions depicted in that image. It may be determined when a user will be at the location at a future point in time. Information identifying current environmental conditions at the location for the future point in time may be received. The set of images are ranked based on the received environmental information and the condition information for each image. An image from the set of images is selected for display based on the selected image&#39;s rank relative to other images of the set of images. The selected image depicts current conditions at the location most closely matching environmental conditions expected at the future point in time.

BACKGROUND

Various services such as Google Maps may provide street level images,often called “Street Views”, of geographic locations to users. Typicallyin such services, a client computer may request street level images of aparticular location and receive images, such as digitized panoramic 360photographs, taken at street level in response. The images are receivedfrom different sources and may be grouped by locations where the imageswere taken. In some examples, these images may include street levelphotographs of real world locations, which may allow users to view theselocations from a person's perspective at ground level.

User searches for maps and photos using such services for displayingstreet level images may often return images of a place at the mostpopular times for taking pictures and under perfect conditions. However,if the users are en route to a place or planning a trip at a certaintime, the returned images may not match how the place may currently lookupon the user's arrival.

BRIEF SUMMARY

Aspects of this disclosure may be advantageous for providing techniquesin searching for images of a location that depict current conditions atthat location for a future point in time, such as an expected arrivaltime of a user. One aspect of the present technology provides a method.The method includes receiving a request for images of a location. Inresponse to the request, a set of images depicting different conditionsat the location may be identified. Each image of the set of images isassociated with condition information defining the conditions depictedin that image. The method further includes determining when a user willbe at the location at a future point in time. Environmental informationincluding information identifying environmental conditions expected atthe location for the future point in time may be received. The set ofimages are ranked based on the received environmental information andthe condition information for each image of the set of images. An imagefrom the set of images may be selected for display on a client devicebased on the selected image's rank relative to other images of the setof images. The selected image depicts current conditions at the locationmost closely matching the environmental conditions expected at thefuture point in time.

In one example, the future point in time may be based on at least oneof: a search query performed by the user, a current location of theuser, and the user's search history. In this regard, if the future pointin time is based on the user's search history, the search historyincludes information indicating items related to a given time periodcorresponding to the future point in time. Ranking the set of imagescomprises identifying visual features disposed in each image of the setof images. The visual features disposed in a highest ranked imagecorresponds to the received environmental information

In one example, the environmental condition information includesinformation representing weather conditions at the location for a timecorresponding to the future point in time.

In one example, the environmental condition information further includesinformation representing a time of day at the location for the futurepoint in time.

In one example, the environmental condition information further includesinformation related to a seasonal event that occurred at location. Theevent occurred at a time corresponding to the future point in time.

Another aspects of the present technology provides a non-transitorycomputer readable medium including instructions that, when executed by aprocessor, cause the processor to perform a method. The method furtherincludes receiving a request for images of a location. In response tothe request, a set of images depicting different conditions at thelocation may be identified. Each image of the set of images isassociated with condition information defining the conditions depictedin that image. The method includes determining when a user will be atthe location at a future point in time. Environmental informationincluding information identifying environmental conditions expected atthe location for the future point in time may be received. The set ofimages are ranked based on the received environmental information andthe condition information for each image of the set of images. An imagefrom the set of images may be selected for display on a client devicebased on the selected image's rank relative to other images of the setof images. The selected image depicts current conditions at the locationmost closely matching the environmental conditions expected at thefuture point in time.

Yet another aspect of the present technology provides a system thatincludes a memory for storing images and a processor coupled to thememory. The processor may be configured to receive a request for imagesof a location. In response to the request, a set of images depictingdifferent conditions at the location may be identified. Each image ofthe set of images is associated with condition information defining theconditions depicted in that image. The processor may be furtherconfigured to determine when a user will be at the location at a futurepoint in time. Environmental information including informationidentifying environmental conditions expected at the location for thefuture point in time may be received. The set of images are ranked basedon the received environmental information and the condition informationfor each image of the set of images. An image from the set of images maybe selected for display on a client device based on the selected image'srank relative to other images of the set of images. The selected imagedepicts current conditions at the location most closely matching theenvironmental conditions expected at the future point in time.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an example set of images including street level images inaccordance with aspects of the disclosure.

FIG. 2 is another example set of images including street level inaccordance with aspects of the disclosure.

FIG. 3 is yet another example set of images including street levelimages in accordance with aspects of the disclosure.

FIG. 4 is an example of a ranked set of images in accordance withaspects of the disclosure.

FIG. 5 is a block diagram of a system in accordance with aspects of thedisclosure.

FIG. 6 is a flow diagram depicting an example of a method in accordancewith aspects of the disclosure.

DETAILED DESCRIPTION

Aspects, features and advantages of this disclosure will be appreciatedwhen considered with reference to the following description ofembodiments and accompanying figures. The same reference numbers indifferent drawings may identify the same or similar elements.Furthermore, the following description is not limiting; the scope of thepresent technology is defined by the appended claims and equivalents.While certain processes in accordance with example embodiments are shownin the figures as occurring in a linear fashion, this is not arequirement unless expressly stated herein. Different processes may beperformed in a different order or concurrently. Steps may also be addedor omitted unless otherwise stated.

The present disclosure relates generally to ranking identified images ofa location based on current conditions at that location. For example,when a user initiates a request to view images, such as street levelimages, of a geographic location, the techniques disclosed herein mayautomatically select real-world street level images that are mostvisually relevant to the current conditions (e.g., weather, time of day,holiday decor, etc.) at the location expected at a future point in time.While aspects of the disclosure are discussed in connection withstreet-level imagery, these techniques can also be used with other typesof imagery such as aerial imagery or indoor imagery.

According to aspects, in response to a user request, a set of images fora location can be identified where the images correspond to imagesdepicting different conditions at the location. Each image of the set ofimages is associated with condition information depicted in that image.It may be determined when a user will be at the location at a futurepoint in time. For example, for a user currently traveling to alocation, the user's current Global Positioning System (GPS) coordinatesmay be used to determine the user's expected time of arrival at thelocation. In order to determine which images of the set of images aredisplayed to the user, the images are ranked by a processor based onreceived environment information and the condition informationassociated with each image. The received environment information mayinclude information indicating current environmental conditions at thelocation for the future point in time. An image from the set of imagesmay be selected based on its rank relative to other images of the set ofimages. The selected image may depict current conditions at the locationmost closely matching the environmental conditions expected at thefuture point in time.

FIG. 1 is an example set of images 100 including a set of street levelimages 102-104 of a location. The set of images 100 may depict objectsat the location such as a street, buildings, various terrains anddifferent environmental conditions. Typically, these images arecaptured, for example, by cameras or image capturing devices at thelocations in a direction generally parallel to the ground.

The set of images 100 may be identified in response to a user's requestfor imagery of a location. For example, a user may request images of alocation the user may plan to visit at a future point in time. Thesearch request or query for images of the location may include relevantinformation for identifying the location. For example, the user's querymay include information indicating a specific location (e.g., “VermontMountain Resort”), a longitude/latitude position, a street address orother types identifying information that may be used to determine thelocation of which the user desires to view street level imagery. In oneexample, the user may enter the identifying information into a browseron client device 109. Thereupon, a server in communication with theclient device 109 may identify one or more images also associated withthe identifying information, and send these images to the client device109.

The client device 109 may receive the image and display them to theuser. As an example, a street level image may be shown to a user on adisplay of the client device 109 along with controls for zooming in onthe image as well as controls for changing the orientation of the view(which may require retrieving more street level images). For example,the techniques disclosed herein may be implemented in connection with anInternet browser such as Google Chrome (not shown) for displaying streetlevel images as well as other information. Other navigation controls maybe included as well, such as panning controls in the form of arrowsdisposed along the street. Such arrows may be selected by a user (byclicking or by dragging along the street line) to change the vantagepoint from up to down the street.

Although more than one image may be identified for a location, aparticular user may be most interested in viewing an image that depictsconditions at the location for a time closely matching an expected timeof arrival. For example, the user may be en route to a location 107 whenmaking a request for imagery of that location. As shown in the exampleof FIG. 1, the set of images 100 identified in response to the user'srequest may include images, such as street level images 102 and 104 thatmay depict the location 107 under different conditions (e.g., at daytimeand nighttime).

The user's expected time of arrival at a location can be estimated, forexample, based on the user's current geolocated position. For example,the user's client device 109 may include a positioning component, suchas a GPS receiver, to determine a location of the device. Based on thedevice's current position, it can be approximated how far the user maybe from the desired location. In turn, an arrival time of the user atthe location can be estimated based on the user's known position and theuser's given rate of travel. In some aspects, the rate of travel of theuser may be interpolated, for example, from the GPS signal.

This particular user, however, may be traveling by vehicle 105 to thelocation 107 and may arrive at a certain time of day, such as 12:00 ammidnight. In this case, a nighttime image 104 of location 107 may beselected to display to the user in a browser because it most closelymatches the time of day (e.g., current environmental conditions)expected at the time the user will arrive in the future. The time of dayat a location may be determined, for example, by using alatitude/longitude coordinate of the requested location to determine atime zone at that location. The time zone, in turn, may then be usedalong with an internal clock of the client device 109 to calculate anexpected local arrival time of the user at the location.

Other types of current conditions may also be used to select and provideimages. For example, weather and other types of conditions for alocation can be determined based on available information, such ascurrent weather conditions, weather forecasts as well as historicalinformation about the location. This information may then be used asdescribed above to select images.

FIG. 2 is an example of such conditions. In this example, a set ofimages 200 includes street level images 202-208 depicting differentweather conditions at a location (e.g., raining, sunny, snow, partlycloudy). As an example, a possible source of information regardingcurrent weather conditions at a location may be a weather service thatmay provide current weather conditions as well as a prediction of theweather at that location over a range of time. For example, in responseto receiving a location identifier, such as a desired destination of theuser traveling via vehicle 105, the weather service may provideinformation about weather conditions at the desired destination.

In this instance, the image closely matching the weather conditionsexpected at the time of arrival of user may be displayed on clientdevice 109 in response to the user's request for images of location 107.For example, if the weather service provides information indicating thatit may be raining at the user's desired destination, image 204 whichdepicts the location in the rain may be selected for display to theuser.

Still further, other information regarding conditions at a location mayinclude a current time of day, holiday events or seasonal conditionsexpected when the user will arrive. In this regard, there are manyindicators that can be used to estimate when a user will be at alocation. For example, the user's search query may include signalsindicating which seasonal conditions reflect the current conditionsexpected at the location when the user arrives, this may includeinformation indicating a specific time period the user plans to be atthe location.

As shown in the example of FIG. 3, a set of images 300 may includestreet level images 302-308 that depict a location 107 under differentseasonal conditions, such as spring, summer, fall and winter. Forexample, a user planning a trip to the location 107 at some future pointin time may wish to view images of that location beforehand. In thisexample, the query may indicate the user's plans for an upcoming skitrip by including information for “Vermont Ski Resort”, etc., indicatingthat the user desires to view imagery of the location that correspondsto winter conditions for the location.

In some aspects, a user's navigation history may also include signalsindicating a specific time period the user plans to be at the location.For example, the user's navigation history may indicate that the userhas viewed airline or hotel bookings for the location for a specificdate or recently purchased items for the trip that are typically usedduring certain months like skies or ski boots. The user may havesearched for driving direction to the location, e-mailed a friend orperformed a number of other browsing activities which can be used as anindicator to determine a specific time period related to user's expectedarrival at a location.

For situations in which the subject matter described herein collectsinformation about users, or may make use of user-related information,the users may be provided with an opportunity to control whetherprograms or features collect user information (e.g., information about auser's social network, social actions or activities, profession,preferences or a user's current location), or to control whether and/orhow to receive information that may be of interest to the user. Inaddition, certain data may be treated in one or more ways before it isstored or used, so that personally identifiable information is removed.For example, a user's identity may be treated so that no personallyidentifiable information can be determined for the user, or a user'scurrent and historical location may be generalized where locationinformation is obtained (such as to a city, ZIP code or state level), sothat a particular location of a user cannot be determined. A user mayalso be provided with the opportunity to decide whether, and to controlhow such information (such as search and location history) is used andstored on a user's device and by servers with which the devicecommunicates.

Before selecting an image to be displayed to the user, images identifiedbased on the conditions as described above may be ranked. FIG. 4 is anexample of a ranked set of images 400 including street level images402-408. As noted above, the set of images 402-408 may be identified inresponse to the user request for images of a location 107. The imagesmay be ranked for display to a user on client device 409 based on howclosely they match the current conditions. For example, conditionsdepicted in a highest ranking image may correspond to the currentconditions expected at the location.

As shown in the example of FIG. 4, the image depicting location 107during winter months ranks higher than other images 404, 406 and 408identified for that location. In this example, the winter image 402 maydepict conditions that are more aligned with the user's planned ski tripto the location during the winter or simply at the time of day or thecurrent weather conditions at the user's time of arrival.

In order to determine a ranking of the identified set of images, anumber of indicators may be used to determine current conditionsdepicted in the images. In one aspect, a date and time may be associatedwith the images indicate a time of day depicted in the images, such asthe time of day when the image was captured. In some aspects, imageanalysis may be performed on the set of images to extract features thatmay be used to identify various ambient lighting or weather conditionsdepicted in the images. For example, a mostly dark image may depict anight scene of a location as opposed to depicting a day scene. In otherexamples, certain objects in an image may be identified as being snowcovered identifying the images as winter month images versus objectsdepicted on a bright sunny summer day.

The current conditions depicted in the images may also be identifiedbase on information stored in the image (e.g., metadata). For example,the information associated with an image may indicate that a certainwhite balance was used on a camera when capturing the image. This mayindicate that the picture was taken at a location at night and, thusrepresent a nighttime depiction of the location. Other metadata mayinclude specific camera settings used to capture the image that mayindicate the environment conditions depicted in the image, such as acamera setting for cloudy or daytime mode.

In other situations, a user may tag or otherwise label the images withinformation identifying seasonal events and celebrations, or othermeaningful condition information depicted in the images. For example,the images may be labeled based on identified Christmas lights and otherrelated decorations on structures within the image indicating that theimages are related to a specific holiday event and/or time frame.

FIG. 5 is a block diagram of an example system 500, which includes aserver 501 coupled to a network 595 and one or more client devices (onlyclient device 510 being shown in FIG. 5 for clarity) capable ofcommunicating with the server 501 over the network 595. The server 501may include a processor 502, memory 504, and other components typicallypresent in general purpose computers.

The memory 504 of server 501 may store information accessible by theprocessor 502, including instructions 506 that may be executed by theprocessor 502, and data 508. The memory 504 may be of a type of memoryoperative to store information accessible by the processor 502,including a non-transitory computer-readable medium, or other mediumthat stores data that may be read with the aid of an electronic device,such as a hard-drive, memory card, read-only memory (“ROM”), randomaccess memory (“RAM”), digital versatile disc (“DVD”) or other opticaldisks, as well as other write-capable and read-only memories. Thesubject matter disclosed herein may include different combinations ofthe foregoing, whereby different portions of the instructions and dataare stored on different types of media.

Although FIG. 5 functionally illustrates the processor 502 and memory504 as being within the same block, the processor 502 and memory 504 mayactually include multiple processors and memories that may or may not bestored within the same physical housing. For example, some of theinstructions and data may be stored on removable CD-ROM and otherswithin a read-only computer chip. Some or all of the instructions anddata may be stored in a location physically remote from, yet stillaccessible by, the processor 502. Similarly, the processor 504 mayactually comprise a collection of processors, which may or may notoperate in parallel.

Data 508 may be retrieved, stored or modified by processor 502 inaccordance with the instructions 506. For instance, although the systemsand method disclosed herein are not limited by a particular datastructure, the data 508 may be stored in computer registers, in arelational database as a table having a plurality of different fieldsand records, XML documents, or flat files. The data 508 may also beformatted in a computer-readable format such as, but not limited to,binary values, ASCII or Unicode. By further way of example only, thedata 508 may be stored as bitmaps comprised of pixels that are stored incompressed or uncompressed, or various image formats (e.g., JPEG),vector-based formats (e.g., SVG) or computer instructions for drawinggraphics. Moreover, the data 508 may comprise information sufficient toidentify the relevant information, such as numbers, descriptive text,proprietary codes, pointers, references to data stored in other memories(including other network locations) or information used by a function tocalculate the relevant data.

A typical system can include a large number of connected computers, witheach different computer being at a different node of the network 595.The network 595, and intervening nodes, may comprise variousconfigurations and protocols including the Internet, World Wide Web,intranets, virtual private networks, wide area networks, local networks,private networks using communication protocols proprietary to one ormore companies, Ethernet, WiFi and HTTP, and various combinations of theforegoing. Such communication may be facilitated by a device capable oftransmitting data to and from other computers, such as modems (e.g.,dial-up, cable or fiber optic) and wireless interfaces.

The client device 510, such as client device 109 of FIGS. 1-2 and clientdevice 309 of FIGS. 3-4, may be configured similarly to the server 501,with a processor 512, memory 514, instructions 516, and all of theinternal components normally found in a personal computer. By way ofexample only, the client device 510 may include a central processingunit (CPU), display device 511 (for example, a monitor having a screen,a projector, a touch-screen, a small LCD screen, a television, oranother device such as an electrical device operable to displayinformation processed by the processor 512), CD-ROM, hard-drive, userinput device 517 (for example, a keyboard, mouse, touch-screen ormicrophone), speakers, modem and/or network interface device (telephone,cable or otherwise) and all of the components used for connecting theseelements to one another.

The client device 510 may be a computing device. For example, clientdevice 510 may be a laptop computer, a netbook, a desktop computer, anda portable personal computer such as a wireless-enabled PDA, a tablet PCor another type of computing device capable of obtaining information viaa network like the Internet. Although aspects of the disclosuregenerally relate to a single client device 510, the client device 510may be implemented as multiple devices with both portable andnon-portable components (e.g., software executing on a rack-mountedserver with an interface for gathering location information).

Although the client devices 510 may include a full-sized personalcomputer, the subject matter of the present disclosure may also be usedin connection with mobile devices capable of wirelessly exchanging data.For example, client device 510 may be a wireless-enabled mobile device,such as a Smartphone, or an Internet-capable cellular phone. In eitherregard, the user may input information using a small keyboard, a keypad,a touch screen or other means of user input. In various aspects, theclient devices and computers described herein may comprise a devicecapable of processing instructions and transmitting data to and fromhumans and other devices and computers including general purposecomputers, network computers lacking local storage capability, gameconsoles, and set-top boxes for televisions.

The client device 510 may include a component, such as circuits, todetermine the location of the device. For example, the client device 510may include a GPS positioning component or receiver 518. By way ofexample only, the positioning component 518 may include software fordetermining the position of the device based on other signals receivedat the client device 510, such as signals received at a cell phone'santenna from one or more cell phone towers if the mobile device is acell phone. In that regard, the provision of location identificationdata may occur automatically based on information received from such acomponent.

The instructions 516 of the client device 610 may be a set ofinstructions to be executed directly (such as machine code) orindirectly (such as scripts) by the processor. In that regard, the terms“instructions,” “steps” and “programs” may be used interchangeablyherein. The instructions 516 may be stored in object code format fordirect processing by the processor, or in other computer languagesincluding scripts or collections of independent source code modules thatare interpreted on demand or compiled in advance. Functions, methods androutines of the instructions are explained in more detail below.

The instructions 516 may include a browser for displaying networkcontent, and a navigation history of a user of the client device 510.The browser provides for the display of network content, such as streetlevel images, a set of search results or other types of network content,to a user of the client device 510 by sending and receiving data acrossthe network 595. The network content may be received in response to asearch query that includes a search text including an indication of alocation. The search results returned are associated with locationswithin the geographic region. For example, the search results can be anumber of street level images of different buildings or landscapeswithin the geographic region.

Memory 514 may store a user's navigation history. The user's navigationhistory may represent data collected by using one or more browseradd-ons, scripts or toolbars. In some aspects, the navigation historymay be maintained on a remote server, such as server 501 and provided tothe client device 510. As discussed above, users may be provided with anopportunity to control whether programs or features of the subjectmatter disclosed herein may collect user information or to controlwhether and/or control whether and/or how to receive information thatmay be of interest to the user. Certain data may also be treated in oneor more ways before it is stored or used, so that no personallyidentifiable information can be determined for the user.

Image database 507 of sever 501 may store image data representing streetlevel images 509, which may be transmitted to client device 510. Eachstreet level image may be stored as image data, which includes an image,date, a visual orientation of the image and other data related to theimages like an exposure setting used on a device to capture the images.The street level images 509 may include images of objects at locations,such as buildings, streets, and terrains. The street level images may becaptured by cameras at the locations from a perspective a few feet abovethe ground. In many aspects, a typical street level image may include asmany geographic objects (street lights, mountains, trees, bodies ofwater, vehicles, people, etc.) in as much detail as a camera canpossibly capture.

The image database 507 can include information relevant to a location ofthe street level images 509. For example, the street level images 509may include or be associated with latitude/longitude coordinatesrepresenting locations where the images were captured. Although thesubject matter disclosed herein is not limited to a particularpositional reference system, latitude/longitude positions may be usedwhen referencing locations of the street level images 509 of system 500.

System 500 may further include a source that provides information aboutthe current conditions at locations depicted in the street level images509. The source may be stored at the server 501 or may include externalsources such as websites. As noted above, one possible external sourceof information is weather service. For example, in response to receivinga location over network 595, the weather service may provide informationabout current and forecast weather at the location.

In one aspect, system 500 may perform a search query for street levelimages 509 in response to a user request. For example, the user mayenter a search query for street level images using the client device510. In response to the search query, a set of street level images 509associated with a location may be returned. The user may view thesestreet level images 509, for example, on the display 511 of clientdevice 510. Although the images returned by the server 501 mayaccurately depict the location, the user's interest may be directedtowards viewing images of the location that depict current environmentalconditions at a specific period of time, such as a time the user will atthe location.

The search request may include signals indicating which images arerelevant to the user's interest. For example, a user request for“Vermont ski resorts” may indicate that the user does not just wantimages of these resorts, but specific imagery depicting the locationduring the winter months. Other types of signals indicating a user'sinterest in specific imagery of a location may include information aboutthe user such as their current distance from a location or theirnavigation history. For example, if a user's navigation historydiscloses that the user has been searching for cold weather type itemslike ski boots; this may indicate that the user wants specific imageryof the location depicted in winter months. System 500 can be configuredto rank the selected images that are most visually relevant to theuser's interest.

In order to facilitate the image ranking operations of system 500, theinstructions 506 of server 501 may further include an image rankingmodule 503. The image ranking module 503 may be operable in conjunctionwith the server 210 from where it may receive the above describedsignals indicating which images are visual relevant to a user'sinterest. The functionally of this module can exist in a fewer orgreater number of modules than shown in FIG. 5, with such modulesresiding at one or more computing devices, which may be geographicallydispersed.

The image ranking module 503 may perform image analysis on the set ofstreet level images 509 in order to determine a priority order fordisplaying the images to a user. For example, the image analysis mayidentify various lighting or weather conditions depicted in the streetlevel images 509. In this respect, a highest ranking image may reflectthe current conditions expected at the location at the specific timeperiod, such as a time the user will arrive at the location.

In some aspects, the image ranking module 503 may classify theconditions depicted in the images based on information stored with theimage or identified by a user or system administrator. For example,system 500 may send the images to a system administrator that may promptthe users to manually input a label identifying the environmentalconditions depicted in the images before they are stored the imagedatabase 507. When selecting images to display to a user, the system 500may select an image from the set of images where the identifiedenvironmental conditions depicted in the image correspond to the currentenvironmental information received regarding the location.

FIG. 6 is a flow diagram 600 depicting an example of some of the aspectsdescribed above. At stage 610, a request for images of a location may bereceived. For example, a server may receive a request for real-worldstreet level imagery of a location from a client device, such as clientdevice 510 of FIG. 5. The user may enter a search query using, forexample, a browser on a display of the client device. The user's querymay include information indicating real-world coordinates of thelocation, such as a longitude/latitude position, a street address orother types identifying information that may be used to determine thelocation of which the user desires to view street level imagery.

At stage 620, in response to the user's request, a set of imagesassociated with the location may be identified. For example, theseimages may depict different environmental conditions at of the location.The different environmental conditions associated with each image may berepresented as condition information that may be identified, forexample, within in the image itself, as metadata with each image or as auser defined label/tag. The images are stored in a database coupled to aserver and are captured at the location over a span of time.

At stage 630, it may be determined when a user will be at the locationat a future point in time, such as the user's time of arrival at thelocation. For example, a number of indicators can be used to determinewhen a user will be at the location. One such indicator for a usertraveling to the location may include the user's current GPS location.For example, from this GPS information, the user's expected time ofarrival at the location can be interpolated given the user rate oftravel.

Other such indicators may include a search query or the user's Internetbrowsing history. For example, a user's search query may includeinformation indicating a specific time period the user plans to be atthe location, such as an indicator of the user's plans for an upcomingski trip. The user's Internet browsing history may also indicate certainitems purchased (e.g., ski lift tickets), travel bookings orcommunications related to a specific date or time period the user plansto be at the location.

At stage 640, information identifying environmental conditions at thelocation may be received. The environmental conditions are related toconditions at the location for the future point in time, which may be atime the user arrives at the location. For example, the identifiedenvironmental conditions may include current environmental conditions,such as weather conditions at a location as well as a forecastprediction of weather at that location over a range of time. Otheridentified environmental conditions may include information regardingseasonal holiday events that occur at the location or a current time ofday. This information may be received from various sources in responseto those sources receiving a location identifier, such as the identifiedlocation from stage 610.

At stage 650, the set of images may be ranked based on the receivedenvironmental information and the future point in time. The ranking mayidentify one or more images that depict different environmentalconditions at the location. The ranking may be based on how closely theimages match the current environmental condition expected at the futurepoint in time, such as a time of arrival of a user at the location,identified at stage 630.

In order to determine a ranking order for the identified images, anumber of indicators are used to determine conditions depicted in theimages. For example, a date and time may be associated with the imagesindicate a time of day depicted in the images. In some aspects, imageanalysis may be performed on the set of images to extract features thatmay be used to identify various ambient lighting or weather conditionsdepicted in the images. For example, using the image analysis, imagefeature can be identified in the images related to certain environmentalclimate conditions (e.g., snow on an object). The environmentalconditions depicted in the images may also be determined base oninformation stored with the image or by a user.

At stage 660, an image may be selected based on its rank relative toother images. For example, a highest ranked image may be selected, whichdepicts current environmental conditions at the location most closelymatching the current environmental conditions received at stage 640. Theselected image may be displayed to a user on a client device, such as onclient device 510 of FIG. 5.

As these and other variations and combinations of the features discussedabove can be utilized without departing from the disclosure as definedby the claims, the foregoing description of the embodiments should betaken by way of illustration rather than by way of limitation of thedisclosure as defined by the claims. It will also be understood that theprovision of examples of the disclosure (as well as clauses phrased as“such as,” “e.g.”, “including” and the like) should not be interpretedas limiting the disclosure to the specific examples; rather, theexamples are intended to illustrate only some of many possibleembodiments.

The invention claimed is:
 1. A method, comprising: receiving a requestfor images of a location; in response to the request, identifying a setof images depicting different conditions at the location, the conditionsbeing environmental states which are subject to change from one time toanother at the location, each image of the set of images beingassociated with condition information defining the conditions depictedin that image, wherein identifying the set of images includesidentifying the condition information based on at least camera settingsspecific to the environmental state; determining a future point in timewhen a user will be at the location; receiving expected environmentalinformation including information identifying environmental conditionsexpected at the location for the future point in time, wherein theexpected environmental information includes information representing atleast one of: weather conditions at the location for a timecorresponding to the future point in time, a time of day at the locationcorresponding to the future point in time, or a recurring event thatoccurred at the location, the recurring event corresponding to thefuture point in time; ranking, using one or more processors, the set ofimages based on the expected environmental information and the conditioninformation for each image of the set of images; and selecting, fordisplay on a client device, using the one or more processors, an imagefrom the set of images based on the selected image's rank relative toother images of the set of images, the selected image depictingconditions at the location most closely matching the expectedenvironmental conditions at the future point in time, wherein the futurepoint in time is based on a user's search history, the search historyincluding information indicating researched items for use at thelocation related to a given time period corresponding to the futurepoint in time.
 2. The method of claim 1, wherein ranking the set ofimages comprises identifying visual features disposed in each image ofthe set of images, the visual features disposed in a highest rankedimage corresponding to the received environmental information.
 3. Themethod of claim 1, wherein one or more indicators associated with theimages are used to determine the conditions depicted in the images. 4.The method of claim 3, wherein the one or more indicators comprisemetadata stored with the image.
 5. The method of claim 3, wherein theone or more indicators comprise labels identifying the conditions. 6.The method of claim 1, further comprising determining the conditionsdepicted in the images using image analysis, including extracting imagefeatures from within the images, the extracted image featurescorresponding to particular conditions.
 7. The method of claim 1,wherein the conditions depicted in the image include at least one ofweather conditions, a time of day, and a recurring seasonal event.
 8. Anon-transitory computer readable medium comprising instructions that,when executed by a processor, cause the processor to perform a method,the method comprising: receiving a request for images of a location; inresponse to the request, identifying a set of images depicting differentconditions at the location, the conditions being environmental stateswhich are subject to change from one time to another at the location,each image of the set of images being associated with conditioninformation defining the conditions depicted in that image, whereinidentifying the set of images includes identifying the conditioninformation based on at least camera settings specific to theenvironmental state; determining a future point in time when a user willbe at the location; receiving environmental information includinginformation identifying environmental conditions expected at thelocation for the future point in time, wherein the expectedenvironmental information includes information representing at least oneof: weather conditions at the location for a time corresponding to thefuture point in time, a time of day at the location corresponding to thefuture point in time, or a recurring event that occurred at thelocation, the recurring event corresponding to the future point in time;ranking, using the processor, the set of images based on the receivedenvironmental information and the condition information for each imageof the set of images; and selecting, for display on a client device, animage from the set of images based on the selected image's rank relativeto other images of the set of images, the selected image depictingconditions at the location most closely matching the environmentalconditions expected at the future point in time, wherein the futurepoint in time is based on a user's search history, the search historyincluding information indicating researched items for use at thelocation related to a given time period corresponding to the futurepoint in time.
 9. A system, comprising: a memory for storing images; anda processor coupled to the memory, the processor being configured to:receive a request for images of a location; in response to the request,identify a set of images depicting different conditions at the location,the conditions being environmental states which are subject to changefrom one time to another at the location, each image of the set ofimages being associated with condition information defining theconditions depicted in that image, wherein identifying the set of imagesincludes identifying the condition information based on at least camerasettings specific to the environmental state; determine a future pointin time when a user will be at the location; receive environmentalinformation including information identifying environmental conditionsexpected at the location for the future point in time, wherein theexpected environmental information includes information representing atleast one of: weather conditions at the location for a timecorresponding to the future point in time, a time of day at the locationcorresponding to the future point in time, or a recurring event thatoccurred at the location, the recurring event corresponding to thefuture point in time; rank the set of images based on the receivedenvironmental information and the condition information for each imageof the set of images; and select, for display on a client device, animage from the set of images based on the selected image's rank relativeto other images of the set of images, the selected image depictingconditions at the location most closely matching the environmentalconditions expected at the future point in time, wherein the futurepoint in time is based on a user's search history, the search historyincluding information indicating researched items for use at thelocation related to a given time period corresponding to the futurepoint in time.
 10. The system of claim 9, wherein to rank the set ofimages includes the processor further being configured to identifyvisual features disposed in each image of the set of images, the visualfeatures disposed in a highest ranked image corresponding to thereceived environmental information.